To ensure proper display of digital video, a clock signal of a computing environment sending encoded digital video (the “sending environment”) should be synchronized with the clock signal of the computing environment receiving and playing the digital video (the “receiving environment”). To illustrate this need, assume that the sending environment is sending the digital video at a rate of thirty pictures per second in its own time base. Thus, to display the digital video as intended, the digital video should be displayed at thirty pictures per second according the time base of the sending environment. If the sending environment and the receiving environment are using clocks running at different rates, then these environments will have a different understanding of time. If this were to happen, then receiving environment could play fewer pictures per second than intended or at irregular intervals, which can result in noticeable jumps in the digital video during playback. Therefore, a need exists to lock the clock of the receiving environment to the sending environment so that both environments have the same understanding of time.
MPEG-2 is a well-known standard for digital video. While MPEG-2 is not as efficient as newer standards such as H.264 and H.265/HEVC, the need for backwards compatibility with existing hardware and software means that MPEG-2 it is widely used today.
ISO/IEC 13818-1 is a standard for synchronization and multiplexing of video and audio in compliance with MPEP-2. The ISO/IEC 13818-1 transport stream standard is also used for newer video encoding standards, such as H.264 and HEVC. Most prior art clock recovery algorithms, such as ISO/IEC 13818-1 for example, involve infinite impulse response (IIR) filters which involve numerous mathematical calculations trying to lock to both frequency and phase of the receiving environment to the sending environment. Unfortunately, such prior art clock recovery algorithms are computationally expensive.